Khuyên Nguyên Hiển, cứu kinh sư Tư Mã Thượng Chi

Năm 399, Tư Mã Nguyên Hiển đoạt lấy binh quyền của cha, trở thành nhiều nắm giữ triều đình. Do tin mưu kế của Trương Pháp Thuận, Tư Mã Nguyên Hiển lập kế hoạch đánh dẹp các thế lực địa phương cát cứ. Thượng Chi không vừa lòng, một lần cùng Nguyên Hiển dự yến tiếc đã lên tiếng chỉ trích Trương Pháp Thuận là tiểu nhân. Tư Mã Nguyên Hiển giận lắm, lại ra lệnh phân Dự châu ra làm hai nghìn người đến Dương châu phòng thủ, từ đó quân của Tư Mã Thượng Chi chỉ còn khoảng 1000, không đủ sức chiến. Ông đem việc ấy nói với Nguyên Hiển, làm Nguyên Hiển càng tức giận hơn. Từ đó Nguyên Hiển nảy ra ý chinh phạt Hoàn Huyền ở Kinh châu[9].  Năm 401, thủ lĩnh nổi loạn Tôn Ân đưa quân từ đảo Chu Sơn, chinh phạt các tỉnh Giang Đông rồi tiến về Kiến Khang. Tấn triều hoảng sợ, ra lệnh giới nghiêm và triệu Tư Mã Thượng Chi về kinh. Thượng Chi dẫn binh, đóng ở Nỗ Đường. Cùng lúc đó Tôn Ân bị tướng Lưu Dụ (tức Vũ Đế nhà Lưu Tống về sau) đánh bại, nhưng lại tập hợp lại lực lượng, mưu đồ tập kích Kiến Khang, nhưng nghe tin Thượng Chi đến, đành phải rút quân. Kiến Khang được giải nguy[10][11], sau cùng phải bỏ về hải đảo.